package agent;

import reseau.Coordonnees2D;
import reseau.Vecteur2D;
import Vue.Terrain;

public class Mouton extends Agent
{
	public static final double DISTANCE_MAX_ABOIEMENT = 250.0;
	
	public Mouton(Terrain terrain, Coordonnees2D position, int rayon) 
	{
		super(terrain, position, rayon);
		this.setColot(128, 0, 128);
	}
	
	public void deciderObjectif()
	{
		if(!this.terrain.getAboiements().isEmpty())
		{
			Vecteur2D vecteurMoyen = new Vecteur2D(0, 0);
			for(Aboiement aboiement : this.terrain.getAboiements())
			{
				if(this.position.distanceA(aboiement.getPosition())<DISTANCE_MAX_ABOIEMENT)
				{
					vecteurMoyen.add(new Vecteur2D(this.position, aboiement.getPosition()));
					//vecteurMoyen.add(new Vecteur2D(aboiement.getPosition(), this.position));
				}
			}
			if(!vecteurMoyen.estNul())
			{
				vecteurMoyen.normaliser(this.vitesseDeplacement);
				
				this.objectif.copy(this.position);
				this.objectif.add(vecteurMoyen);
			}
		}
	}
}
